package com.campus.mapper;

import com.campus.domain.entity.Activity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface ActivityMapper {
    /**
     * 插入活动
     */
    int insert(Activity activity);
    
    /**
     * 根据ID查询活动
     */
    Activity selectById(Long id);
    
    /**
     * 查询活动列表（分页）
     */
    List<Activity> selectList(@Param("keyword") String keyword, @Param("status") Integer status, 
                              @Param("offset") Integer offset, @Param("size") Integer size);
    
    /**
     * 统计活动总数
     */
    Long countTotal(@Param("keyword") String keyword, @Param("status") Integer status);
    
    /**
     * 更新活动当前报名人数
     */
    int updateCurrentParticipants(@Param("activityId") Long activityId, @Param("count") Integer count);
    
    /**
     * 根据ID删除活动
     */
    int deleteById(@Param("id") Long id);
    
    /**
     * 更新活动信息
     */
    int updateActivity(Activity activity);
}

